package com.nvwa.coding.model;

import com.nvwa.coding.util.safe.Coding;

public interface Period<T> extends ValueValidator {

    T getStart();

    T getEnd();

    boolean inPeriod(T o);

    @Override
    default boolean valid() {
        return Coding.allMatch(Coding::isValueValid, getStart(), getEnd());
    }

}
